package br.com.pfc.mobile.comunicao;

import java.util.Vector;

import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import android.util.Log;
import br.com.pfc.mobile.transferobject.CategoriaClienteTO;

public class ComunicacaoCategoriaCliente extends Comunicacao {

	private static final String METHOD_LISTARCATEGORIACLIENTE = "listarCategoriaCliente";
	private static final String SOAP_ACTION =  "http://webservice.siac/";
	
	public CategoriaClienteTO[] listarCategoriaCliente(){
		SoapObject request = getSoapObject(METHOD_LISTARCATEGORIACLIENTE);
		
		
		SoapSerializationEnvelope envelope = getEnvelope();
		HttpTransportSE transport = new HttpTransportSE(URL);
		CategoriaClienteTO[] categoriasTO = null;
		try {
			//chamando o webservice
			transport.call(SOAP_ACTION + METHOD_LISTARCATEGORIACLIENTE, envelope);
			//pegando o retorno
			Vector<SoapObject> response = (Vector<SoapObject>) envelope.getResponse();
			if(response != null){
				categoriasTO = new CategoriaClienteTO[response.size()];				
				for (int i = 0; i < categoriasTO.length; i++) {
					SoapObject soapCategoria = (SoapObject) response.get(i);
					CategoriaClienteTO categoriaTO = new CategoriaClienteTO();
					categoriaTO.setCodigo(Integer.parseInt(soapCategoria.getProperty(CategoriaClienteTO.PROP_CODIGO).toString()));
					categoriaTO.setNome(soapCategoria.getProperty(CategoriaClienteTO.PROP_NOME).toString());
					categoriaTO.setDataAlteracao(Long.parseLong(soapCategoria.getProperty(CategoriaClienteTO.PROP_DATAALTERACAO).toString()));
					categoriaTO.setDescricao(soapCategoria.getProperty(CategoriaClienteTO.PROP_DESCRICAO).toString());
					categoriaTO.setDescontoMaximo(Integer.parseInt(soapCategoria.getProperty(CategoriaClienteTO.PROP_DESCONTO_MAXIMO).toString()));
					categoriasTO[i] = categoriaTO;
				}				
			}
			
		} catch (Exception e) {
			Log.i("PFC","erro no ws: " + e.getMessage());
		}
		return categoriasTO;
	
	}
}
